﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidades.Catalogo;
using System.Collections;

namespace SICOIA.Marcos
{
    public partial class ProxyUserControls : System.Web.UI.Page
    {
        /// <summary>
        /// Metodo para recuperar los parametros de la sesion, colocarlos en una URL y disponerlos para el user control
        /// Session.Add("hashFormParam", parametros);
        /// </summary>
        /// <param name="pagina"></param>
        private void enviarParametros(string pagina)
        {
            string cad = "";
            string[] temp;
            string[] listaParametros;
            Hashtable parametros = new Hashtable();

            if (pagina.IndexOf("?") > -1)
            {
                cad = pagina.Substring(
                            pagina.LastIndexOf("?") + 1,
                            (pagina.Length - pagina.LastIndexOf("?") - 1)
                        );

                listaParametros = cad.Split('&');
                for (int i = 0; i < listaParametros.Count<string>(); i++)
                {
                    temp = listaParametros[i].Split('=');
                    parametros.Add(temp[0], temp[1]);
                }
                Session.Add("hashFormParam", parametros);
            }
        }
        /// <summary>
        /// Quita los parametros del URL nombre de la pagina para que pueda ser encontrado el user control
        /// </summary>
        /// <param name="pagina"></param>
        /// <returns></returns>
        private string quitarParametros(string pagina)
        {
            string cad = pagina;
            if (pagina.IndexOf("?") > -1)
            {
                cad = pagina.Substring(
                            0,
                            pagina.LastIndexOf("?")
                        );

            }
            return cad;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            //if ((EntUsuario)Session["UserPemex"] == null)
            //    Response.Write("<script>parent.window.open('../Marcos/EndPEMEX.aspx','_top')</script>");
            //else
            //{
            string pagina = Request.QueryString["Url"].ToString();
            enviarParametros(pagina);
                //try
                //{
                    switch (quitarParametros(pagina))
                    {
                        case "Solicitud":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Solicitud/ucSolicitud.ascx"));
                                break;
                            }
                        case "Obra":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Obra/ucObra.ascx"));
                                break;
                            }
                        case "AfectadosParticulares":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Afectados/ucAfectadosParticulares.ascx"));
                                break;
                            }
                        case "BusquedaAfectadosParticulares":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Afectados/ucBusquedaAfectadosParticulares.ascx"));
                                break;
                            }
                        case "AfectadosFederales":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Afectados/ucAfectadosFederales.ascx"));
                                break;
                            }
                        case "BusquedaAfectadosFederales":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Afectados/ucBusquedaAfectadosFederales.ascx"));
                                break;
                            }
                        case "PrediosAfectados":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Afectados/ucPrediosAfectados.ascx"));
                                break;
                            }
                        case "BusquedaPrediosAfectados":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Afectados/ucBusquedaPrediosAfectados.ascx"));
                                break;
                            }
                        case "BusquedaSolicitud":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Solicitud/ucBusquedaSolicitud.ascx"));
                                break;
                            }
                        case "BusquedaSolicitudPadre":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Solicitud/ucBusquedaSolicitudPadre.ascx"));
                                break;
                            }
                        case "BandejaSupervisores":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Bandejas/UcBandejaSupervisores.ascx"));
                                break;
                               
                            }
                        case "BusquedaObra":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Obra/ucBusquedaObra.ascx"));
                                break;
                               
                            }
                        case "Bandeja":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Bandejas/uCBandejaSupervisor.ascx"));
                                break;

                            }
                        case "DetalleGraficaObra":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Consultas/uCConsultarDetalleObra.ascx"));
                                break;

                            }
                        case "DetalleGraficaObraAfectado":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Consultas/uCConsultarDetalleGraficaAfectado.ascx"));
                                break;

                            }
                        case "BandejaSolicitante":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Bandejas/uCBandejaSolicitantes.ascx"));
                                break;

                            }
                        case "ErrorGeneral":
                            {
                                phUserControls.Controls.Add(LoadControl("../UserControls/Mensajes/uCErrorGeneral.ascx"));
                                break;

                            }                            
                    }
                //}
                //catch (Exception ee)
                //{
                //    Console.WriteLine(ee.Message);
                //}
            //}
        }
    }
}